# 存放所有的枚举类型
from enum import Enum, auto


class Camp(Enum):
    """阵营"""
    EAGLE = (auto(), '白鹰')
    ROYAL = (auto(), '皇家')
    SAKURA = (auto(), '重樱')
    IRON = (auto(), '铁血')
    DRAGON = (auto(), '东煌')
    NORTHERN = (auto(), '北联', '北方联合')
    IRIS = (auto(), '鸢尾', '自由鸢尾')
    CURIA = (auto(), '教廷', '维系教廷')
    SARDEGNA = (auto(), '撒丁', '萨丁帝国')
    TEMPESTA = (auto(), '飓风')
    META = (auto(), 'META')
    OTHER = (auto(), '其他', '联动')


class Rarity(Enum):
    """稀有度"""
    COMMON = (1, '普通', '白皮', '白船', '白卡', '白色', '白', 'N')
    RARE = (2, '稀有', '蓝皮', '蓝船', '蓝卡', '蓝色', '蓝', 'R')
    ELITE = (3, '精锐', '精英', '紫皮', '紫船', '紫卡', '紫色', '紫', 'SR')
    SUPER_RARE = (4, '超稀有', '金皮', '金船', '金卡', '金色', '金', 'SSR')
    ULTRA = (5, '海上传奇', '彩皮', '彩船', '彩卡', '彩色', '彩', 'UR')


def get_enum(cls, value) -> Enum | None:
    """
    根据枚举类和给出的值返回一个枚举, 值可以是预设的任何内容
    :param cls: base_enum.py中的枚举类
    :param value: 枚举值, 可以是数字序号, 也可以是中文别名
    :return: 返回一个枚举
    """
    for i in cls:
        if value in i.value:
            return i
    return None
